package com.sinbader.xiaole.common.model.result;

import com.sinbader.xiaole.common.enums.Status_;
import com.sinbader.xiaole.common.enums.Types_;
import lombok.Data;
import java.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 仓库
 * </p>
 *
 * @author LuoYong
 * @since 2020-04-16
 */
@Data
public class WarehouseResult implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * 主键
     */
    private Long id;

    /**
     * 仓库编号
     */
    private String warehouseNum;

    /**
     * 仓库名称
     */
    private String warehouseName;

    /**
     * 分店id
     */
    private Long shopId;

    /**
     * 仓库类型： 0: 正品仓 1:废品仓 2：急件仓
     */
    private Integer warehouseType;

    /**
     * 部门
     */
    private String department;

    /**
     * 是否开放采购 0 是 1 否
     */
    private Integer procurementStatus;

    /**
     * 是否开启销售 0：开启 1 停用
     */
    private Integer salesStatus;

    /**
     * 是否共享配件档案：
            0: 是 1:否
     */
    private Integer sharedType;

    /**
     * 数据状态：0: 启用 1:禁用
     */
    private Integer status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 经手人id
     */
    private Long handleUser;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 创建人id
     */
    private Long createUser;

    /**
     * 审核人id
     */
    private Long auditUser;

    /**
     * 审核时间
     */
    private Date auditTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 打印时间
     */
    private Date printTime;

    /**
     * 更新人id
     */
    private Long updateUser;

    /**
     * 默认为0,1为删除
     */
    private Integer isDelete;

    /**
     * 根据类型id返回 name -- 启用状态
     *
     * @return
     */
    public String getStatusStr() {
        if (this.getStatus() != null) {
            return Status_.Status.getInstance(this.getStatus()).getName();
        }
        return null;
    }
    /**
     * 根据类型id返回 name -- 仓库类型
     *
     * @return
     */
    public String getWarehouseTypeStr() {
        if (this.getWarehouseType() != null) {
            return Types_.WarehouseType.getInstance(this.getWarehouseType()).getName();
        }
        return null;
    }

    /**
     * 根据类型id返回 name -- 是否分享
     *
     * @return
     */
    public String getSharedTypeStr() {
        if (this.getSharedType() != null) {
            return Types_.SharedType.getInstance(this.getSharedType()).getName();
        }
        return null;
    }

    /**
     * 根据类型id返回 name --销售
     *
     * @return
     */
    public String getSalesStatusStr() {
        if (this.getSalesStatus() != null) {
            return Status_.SalesStatus.getInstance(this.getSalesStatus()).getName();
        }
        return null;
    }

    /**
     * 根据类型id返回 name --采购
     *
     * @return
     */
    public String getProcurementStatusStr() {
        if (this.getProcurementStatus() != null) {
            return Status_.ProcurementStatus.getInstance(this.getProcurementStatus()).getName();
        }
        return null;
    }

}
